Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
@cursor review |
PR SummaryMedium Risk Overview Introduces a new internal API endpoint Updates workspace file storage utilities to add Written by Cursor Bugbot for commit c18d1db. This will update automatically on new commits. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Silent error masking causes incorrect create-vs-update routing
getWorkspaceFileByNamenow rethrows database lookup errors instead of returning null, so write-by-name no longer misroutes to create when lookup fails.
Or push these changes by commenting:
@cursor push ee6f7d15f4
Preview (ee6f7d15f4)
diff --git a/apps/sim/lib/uploads/contexts/workspace/workspace-file-manager.ts b/apps/sim/lib/uploads/contexts/workspace/workspace-file-manager.ts
--- a/apps/sim/lib/uploads/contexts/workspace/workspace-file-manager.ts
+++ b/apps/sim/lib/uploads/contexts/workspace/workspace-file-manager.ts
@@ -320,7 +320,7 @@
}
} catch (error) {
logger.error(`Failed to get workspace file by name "${fileName}":`, error)
- return null
+ throw error
}
}This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
Greptile SummaryThis PR adds write and append operations to the existing Key changes:
Issues found:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Block as FileV3Block (UI)
participant Tool as file_write / file_append Tool
participant API as /api/tools/file/manage
participant DB as workspace-file-manager (DB)
participant Storage as Storage Service
Note over Block,Storage: Write operation
Block->>Tool: operation=write, fileName, content, workspaceId
Tool->>API: POST {operation:"write", fileName, content, workspaceId}
API->>DB: getWorkspaceFileByName(workspaceId, fileName)
DB-->>API: null (not found)
API->>Storage: uploadWorkspaceFile(...)
Storage-->>API: {id, name, url, key}
API-->>Tool: {success:true, data:{id, name, size, url}}
Tool-->>Block: output {id, name, size, url}
Note over Block,Storage: Append operation
Block->>Tool: operation=append, fileName, content, workspaceId
Tool->>API: POST {operation:"append", fileName, content, workspaceId}
API->>DB: getWorkspaceFileByName(workspaceId, fileName)
DB-->>API: existingRecord
API->>Storage: downloadWorkspaceFile(existingRecord)
Storage-->>API: existingBuffer
API->>Storage: updateWorkspaceFileContent(workspaceId, id, userId, newBuffer)
Storage-->>API: updatedRecord
API-->>Tool: {success:true, data:{id, name, size, url}}
Tool-->>Block: output {id, name, size, url}
Reviews (1): Last reviewed commit: "Address feedback" | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
* Add file write and delete operations * Add file block write operation * Fix lint * Allow loop-in-loop workflow edits * Fix type error * Remove file id input, output link correctly * Add append tool * fix lint * Address feedback * Handle writing to same file name gracefully * Removed mime type from append block * Add lock for file append operation --------- Co-authored-by: Theodore Li <theo@sim.ai>


Summary
Added operations write and append for the file block. This allows workflows to create and append to mothership file resources.
Type of Change
Testing
Checklist
Screenshots/Videos